/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao.rechercheQuestionnaire;

import dao.questionnaire.DaoQuestionnaireLocal;
import dao.utilisateur.DaoAbstractRepondantLocal;
import dao.utilisateur.DaoCreateurLocal;
import entities.questionnaire.Questionnaire;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author loic.vaugeois
 */
@ManagedBean
@RequestScoped
public class TestRechercheQuestionnaire {

    /** Creates a new instance of TestUtilisateur */
    public TestRechercheQuestionnaire() {
    }
    @EJB
    private DaoQuestionnaireLocal daoQuestionnaire;
    @EJB
    private DaoAbstractRepondantLocal daoAbstractRepondant;
    @EJB
    private DaoCreateurLocal daoCreateur;

    public void tester() {
        System.out.println("Test Recherche Questionnaire Dispo:");
        testChercherQuestionnaireDispo();
        System.out.println("+++++++++++++");
        System.out.println("Test Recherche Questionnaire A Valider:");
        testChercherQuestionnaireAValider();
        System.out.println("+++++++++++++");
        System.out.println("Test Recherche Questionnaire En Creation:");
        testChercherQuestionnaireEnCreation();
        System.out.println("-------------------------------------------------------------------");
    }

    private void testChercherQuestionnaireDispo() {
        System.out.println("Test 1:");
        System.out.println("Chercher Questionnaires Dispo avec un utilisateur authentifié:");
        List<Questionnaire> questionnairesDispo = daoQuestionnaire.chercherQuestionnaireDispo(daoAbstractRepondant.find(1l));
        System.out.println("Questionnaire Trouvé(s):");
        if (questionnairesDispo.isEmpty()) {
            System.out.println("Aucun");
        } else {
            for (Questionnaire questionnaire : questionnairesDispo) {
                System.out.println(questionnaire.getNom());
            }
        }
        System.out.println("Test 2:");
        System.out.println("Chercher Questionnaires Dispo avec un utilisateur anonyme:");
        questionnairesDispo = daoQuestionnaire.chercherQuestionnaireDispo(daoAbstractRepondant.find(2l));
        System.out.println("Questionnaire Trouvé(s):");
        if (questionnairesDispo.isEmpty()) {
            System.out.println("Aucun");
        } else {
            for (Questionnaire questionnaire : questionnairesDispo) {
                System.out.println(questionnaire.getNom());
            }
        }
    }

    private void testChercherQuestionnaireAValider() {
        System.out.println("Test 3:");
        System.out.println("Chercher Questionnaires A Valider:");
        List<Questionnaire> questionnairesDispo = daoQuestionnaire.chercherQuestionnaireAValider();
        System.out.println("Questionnaire Trouvé(s):");
        if (questionnairesDispo.isEmpty()) {
            System.out.println("Aucun");
        } else {
            for (Questionnaire questionnaire : questionnairesDispo) {
                System.out.println(questionnaire.getNom());
            }
        }
    }

    private void testChercherQuestionnaireEnCreation() {
        System.out.println("Test 4:");
        System.out.println("Chercher Questionnaires En Creation avec un utilisateur authentifié:");
        List<Questionnaire> questionnairesDispo = daoQuestionnaire.chercherQuestionnaireEnCreation(daoCreateur.find(1l));
        System.out.println("Questionnaire Trouvé(s):");
        if (questionnairesDispo.isEmpty()) {
            System.out.println("Aucun");
        } else {
            for (Questionnaire questionnaire : questionnairesDispo) {
                System.out.println(questionnaire.getNom());
            }
        }
    }
}
